A sender of a piece of email may for various reasons desire to digitally sign the message to establish and guarantee the authenticity of the email. A typical way of signing a message is to run a secure one-way hash over the data (or some subset of the data). The hash of the message is called a message digest. The combination of the message digest and information regarding the hashing method used is referred to herein as a canonicalization. The message digest is then encrypted; the encrypted message digest constitutes the digital signature. The message and the message digest are both sent to the receiver.
When a digitally signed piece of email is received, the receiving system decrypts the message digest. Using the same hashing method employed by the sending system, the receiving system hashes the message as received to recreate the message digest. If the resulting hash matches the message digest received in the email, the authenticity is established. If the resulting hash does not match the message digest received in the email, the authenticity of the email is not established.
There are many reasons why the hash created by the receiving system may not match the hash created by the sending system. There may be fraud involved, or there may be a more innocent and harmless explanation. Email today goes through any number of intermediate mail transfer agents on its path between the sender and the receiver of the mail. Some of these intermediaries may transform the contents of the email. For example, an intermediary may add or delete blank lines within the email. Typically, the addition of deletion of blank lines would be considered an acceptable transformation. However, because the transformed version of the message is used as the basis for recreating the message digest, the recreated message digest will not match the message digest received in the message. Under these circumstances, the email cannot be authenticated, even when acceptable message transformations are innocently introduced during the normal course of transmitting an email.
The objective of secure message transmission is to have a way of establishing and guaranteeing the authenticity of email messages that is rigid enough to filter out fraud and other undesirable transformations and flexible enough to allow harmless transformations that may be performed along the delivery path.
One known method of reducing the digital signature failure rate is to generate and transmit multiple digital signatures with an email. A digital signature is generated based on the original message, and other digital signatures are generated presuming certain types of transformations may occur during the delivery of the email. For example, one digital signature may be based on a message in which blank lines are deleted, another digital signature may be based on a message in which all white space is removed, and so on. In this way, multiple acceptable transformations of the contents of the email can be conveyed to the receiver. However, this method is undesirable because the generation of a separate signature for each acceptable version of the message is computationally expensive and requires more data to be created, transmitted and stored.